#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct node{
	long long value,num;
};
int camp(node x,node y){
	if(x.value!=y.value) return x.value<y.value;
	else return x.num<y.num;
	return 0;
}
int main(){
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
	long long n,q;
	long long a[8001]; int ans[200001]={0},k=0;
	scanf("%lld%lld",&n,&q);
	for(int i=1;i<=n;i++)
	scanf("%lld",&a[i]);
	int c; int x,v;
	for(int i=1;i<=q;i++){
		cin>>c;
		if(c==1){
			cin>>x>>v;
			a[x]=v;
		}
		if(c==2){
			cin>>x;
			node b[8001];
			for(int j=1;j<=n;j++){
				b[j].value=a[j];
				b[j].num=j;
			}
			sort(b+1,b+n+1,camp);
			for(int j=1;j<=n;j++){
				if(b[j].value==a[x]&&b[j].num==x){
				k++;
				ans[k]=j;
				break;
				}
			}
		}
	}
	for(int i=1;i<=k;i++)
	cout<<ans[i]<<endl;
	return 0;
}
